# 作用域：scope,是指一个变量可以被访问的氛围

# 局部作用域：一般在函数内部的变量，叫做局部变量

def myfunc():
    # 函数内部定义的变量，局部变量
    x = 520
    print(x)


myfunc()

# 如果想在函数外部访问x，则是不行的
# print(x)  # NameError: name 'x' is not defined

# 全局作用域，如果在任何一个函数的外部定义一个变量，那么这个变量的作用域是全局的，叫做全局变量

# 在外部定义变量
y = 880


def myfunc2():
    print(y)


myfunc2()

# 那么，当局部列表跟全局变量名次相同的时候呢？
a = '我是全局变量a'


def myfunc3():
    a = '我是局部变量a'
    print(id(a))  # 4416289008
    # 当局部列表跟全局变量名次相同的时候,使用的局部变量的值
    # 在函数中，局部变量会覆盖同名的全局变量,是一个全新的变量
    print(a)


print(id(a))  # 4417174640

myfunc3()  # 我是局部变量a
print(a)  # 我是全局变量a
